package cn.fl.spl.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.spl.vo.SplBisicDataTagRVO;
import fl.spl.facade.spl.dto.SplBisicDataTagRDTO;


/**
 * @Description: 基础信息标签关系表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SplBisicDataTagRVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto SplBisicDataTagRDTO
     * @return SplBisicDataTagRVO
     */
    public static SplBisicDataTagRVO toVO(SplBisicDataTagRDTO dto) {
        SplBisicDataTagRVO vo = null;
        if (dto != null) {
            vo = new SplBisicDataTagRVO();
            vo.setId(dto.getId());
            vo.setDataId(dto.getDataId());//业务数据主键ID
            vo.setTabNm(dto.getTabNm());//业务数据表名(例如：经销商标签：“SPL_BSC_INFO”)
            vo.setBuOrgCd(dto.getBuOrgCd());//事业部CODE
            vo.setOrgCd(dto.getOrgCd());//组织架构CODE（添加是组织架构，默认事业部CODE）
            vo.setTagPropCd(dto.getTagPropCd());//标签属性CODE（“KEY”:关键）
            vo.setTagPropCdNm(dto.getTagPropCdNm());//标签属性名称（“关键”经销商）
            vo.setTagPurpCd(dto.getTagPurpCd());//标签用途("SORT":用于排序,"SHOW":用于展示)
            vo.setIsShow(dto.getIsShow());//是否展示属性名称（0：否，1：是）
            vo.setIsValid(dto.getIsValid());//是否有效(0：否，1：是)
            vo.setIsDel(dto.getIsDel());//是否删除（0：否，1：是）
            vo.setTimeSign(dto.getTimeSign());//时间戳

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo SplBisicDataTagRVO
     * @return SplBisicDataTagRDTO
     */
    public static SplBisicDataTagRDTO toDTO(SplBisicDataTagRVO vo) {
        SplBisicDataTagRDTO dto = null;
        if (vo != null) {
            dto = new SplBisicDataTagRDTO();
            dto.setId(vo.getId());
            dto.setDataId(vo.getDataId());//业务数据主键ID
            dto.setTabNm(vo.getTabNm());//业务数据表名(例如：经销商标签：“SPL_BSC_INFO”)
            dto.setBuOrgCd(vo.getBuOrgCd());//事业部CODE
            dto.setOrgCd(vo.getOrgCd());//组织架构CODE（添加是组织架构，默认事业部CODE）
            dto.setTagPropCd(vo.getTagPropCd());//标签属性CODE（“KEY”:关键）
            dto.setTagPropCdNm(vo.getTagPropCdNm());//标签属性名称（“关键”经销商）
            dto.setTagPurpCd(vo.getTagPurpCd());//标签用途("SORT":用于排序,"SHOW":用于展示)
            dto.setIsShow(vo.getIsShow());//是否展示属性名称（0：否，1：是）
            dto.setIsValid(vo.getIsValid());//是否有效(0：否，1：是)
            dto.setIsDel(vo.getIsDel());//是否删除（0：否，1：是）
            dto.setTimeSign(vo.getTimeSign());//时间戳

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<SplBisicDataTagRDTO>
     * @return List<SplBisicDataTagRVO>
     */
    public static List<SplBisicDataTagRVO> toVOList(List<SplBisicDataTagRDTO> list) {
        List<SplBisicDataTagRVO> voList = new ArrayList<SplBisicDataTagRVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplBisicDataTagRDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<SplBisicDataTagRVO>
     * @return List<SplBisicDataTagRDTO>
     */
    public static List<SplBisicDataTagRDTO> toDTOList(List<SplBisicDataTagRVO> list) {
        List<SplBisicDataTagRDTO> dtoList = new ArrayList<SplBisicDataTagRDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplBisicDataTagRVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
